import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path'; 




export default defineConfig({
  plugins: [vue()],
  optimizeDeps: {
    include: ['echarts']
  },
  server: {
    proxy: {
      '/api': {
        target: 'http://localhost:8000',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      }
    }
  },
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src') // 添加这行配置
    }
  },
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `@use "@/styles/element/index.scss" as *;`
      }
    }
  },
  define: {
    'process.env': {
      NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development'),
      // 添加其他需要的环境变量
    }
  },
  build: {
    // 👇 添加 build 配置进行代码分割
    rollupOptions: {
      output: {
        manualChunks: {
          // 将 Vue 相关库打包到一起
          vue: ['vue', '@vue/runtime-core', '@vue/runtime-dom'],
          
          // 将 UI 组件库单独打包（如果你用了 Element Plus 或其他）
          element: ['element-plus'],
          
          // 将图表库单独打包
          echarts: ['echarts', 'echarts/core', 'echarts/charts', 'echarts/components'],
          
          // 其他大型依赖可继续拆分，例如：
          // lodash: ['lodash'],
          axios: ['axios']
        },
      },
    },
    // 可选：提高警告阈值（仅用于掩盖警告，不解决根本问题）
    // chunkSizeWarningLimit: 1000, // 单位 KB，设为 1MB
  },
});